package com.lance.answer.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * 一体化平台 个人账户的课程信息
 */
@NoArgsConstructor
@Data
public class XjUserCourseInfo {


    @JsonProperty("code")
    private String code;
    @JsonProperty("content")
    private ContentDTO content;
    @JsonProperty("ts")
    private Long ts;

    @NoArgsConstructor
    @Data
    public static class ContentDTO {
        @JsonProperty("total")
        private Integer total;
        @JsonProperty("pages")
        private Integer pages;
        @JsonProperty("items")
        private List<ItemsDTO> items;

        @NoArgsConstructor
        @Data
        public static class ItemsDTO {
            @JsonProperty("openCourseId")
            private Integer openCourseId;
            @JsonProperty("selectCourseId")
            private Integer selectCourseId;
            @JsonProperty("courseName")
            private String courseName;
            @JsonProperty("courseCode")
            private String courseCode;
            @JsonProperty("credit")
            private Integer credit;
            @JsonProperty("semesterId")
            private Integer semesterId;
            @JsonProperty("coverImg")
            private String coverImg;
            @JsonProperty("status")
            private Integer status;
            @JsonProperty("startDate")
            private Long startDate;
            @JsonProperty("endDate")
            private Long endDate;
            @JsonProperty("published")
            private Integer published;
            @JsonProperty("courseUid")
            private String courseUid;
            @JsonProperty("resourceUid")
            private String resourceUid;
            @JsonProperty("toGk")
            private Integer toGk;
            @JsonProperty("testunit")
            private String testunit;
            @JsonProperty("scoreStatus")
            private Integer scoreStatus;
            @JsonProperty("semesterStartDate")
            private Long semesterStartDate;
            @JsonProperty("semesterEndDate")
            private Long semesterEndDate;
            @JsonProperty("courseTimeState")
            private Integer courseTimeState;
            @JsonProperty("historyCourseItems")
            private List<?> historyCourseItems;
            @JsonProperty("deptName")
            private String deptName;
            @JsonProperty("dutyTeacherName")
            private String dutyTeacherName;
            @JsonProperty("gkLink")
            private String gkLink;
        }
    }
}
